import { Router } from 'vue-router'
import Cookies from 'js-cookie'
import {
  COOKIE_TOKEN_KEY,
  DO_NOT_LOGIN_ROUTE_ARR,
  HOME_ROUTE_NAME,
  LOGIN_ROUTE_NAME,
} from 'utils/SystemConstants'
import { isLogin } from 'utils/SystemUtil'
/**
 * 安装: 验证是否登录的路由守卫. 未登录则转回登录界面
 * @param router
 */
export function installValidateLoginGuard(router: Router) {
  router.beforeEach((to, from) => {
    console.log('validateLoginGuard', 'to', to, 'from', from)
    const toRouteName = to.name as string
    if (isLogin()) {
      if (LOGIN_ROUTE_NAME === toRouteName) {
        // 已登录试图再进入登录界面，则直接转首页
        return {
          name: HOME_ROUTE_NAME,
        }
      } else {
        // 已登录且访问的非首页，直接放行
        return true
      }
    } else {
      if (toRouteName === LOGIN_ROUTE_NAME) {
        // 未登录试图进入登录页，直接放行
        return true
      } else {
        // 未登录试图进入非登录页, 则转入登录页
        return {
          name: LOGIN_ROUTE_NAME,
        }
      }
    }
  })
}
